home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / perl5000.zip / perl5000 / embed_h.SH < prev    next >
Linux/UNIX/POSIX Shell Script  |  1994-10-17  |  987b  |  53 lines

  1. #!/bin/sh
  2.  
  3. cat <<'END' >embed.h
  4. /* This file is derived from global.sym and interp.sym */
  5.  
  6. /* (Doing namespace management portably in C is really gross.) */
  7.  
  8. #ifdef EMBED
  9.  
  10. /* globals we need to hide from the world */
  11. END
  12.  
  13. sed <global.sym >>embed.h                        \
  14.     -e 's/[     ]*#.*//'                    \
  15.     -e '/^[     ]*$/d'                        \
  16.     -e 's/\(.*\)/#define \1        Perl_\1/'            \
  17.     -e 's/\(................    \)    /\1/'
  18.  
  19. cat <<'END' >> embed.h
  20.  
  21. #endif /* EMBED */
  22.  
  23. /* Put interpreter specific symbols into a struct? */
  24.  
  25. #ifdef MULTIPLICITY
  26.  
  27. END
  28.  
  29.  
  30. sed <interp.sym >>embed.h                        \
  31.     -e 's/[     ]*#.*//'                    \
  32.     -e '/^[     ]*$/d'                        \
  33.     -e 's/\(.*\)/#define \1        (curinterp->I\1)/'        \
  34.     -e 's/\(................    \)    /\1/'
  35.  
  36. cat <<'END' >> embed.h
  37.  
  38. #else    /* not multiple, so translate interpreter symbols the other way... */
  39.  
  40. END
  41.  
  42. sed <interp.sym >>embed.h                        \
  43.     -e 's/[     ]*#.*//'                    \
  44.     -e '/^[     ]*$/d'                        \
  45.     -e 's/\(.*\)/#define I\1        \1/'            \
  46.     -e 's/\(................    \)    /\1/'
  47.  
  48. cat <<'END' >> embed.h
  49.  
  50. #endif /* MULTIPLICITY */
  51. END
  52.  
  53.